Skip to content

Conversation

@4meta5
Copy link
Contributor

@4meta5 4meta5 commented Oct 17, 2025

WIP supersedes #420 by replacing FHE with ZK ElGamal as the cryptographic backend for Polkadot Confidential Assets

This work will be moved out of this repository for #421 and does not need to be merged here.

TODO:

  • DESIGN.md outlining architecture implementing ZK ElGamal backend for Polkadot Confidential Assets
  • pallet-zkhe: implements an on-chain cryptographic backend for confidential transfers mirroring the Solana Confidential Token implementation.
  • pallet-confidential-assets: implements the OpenZeppelin Confidential Contracts Standard for multiple assets.
  • confidential-assets-primitives: shared types and traits
  • zkhe-primitives: shared curves, types, transcripts to keep verifier and prover in sync such that only valid proofs pass verification
  • zkhe-verifier: no_std verifiers used at runtime to configure pallet-zkhe::ZkVerifier
  • zkhe-prover: std-friendly helpers to construct proofs that pass verification iff valid
  • tests between verifier and prover in std environment (verifier pallet unit tests)
  • feature: on/off ramp functionality for pallet-confidential-assets (adds verify functions ie mint/burn)
  • more tests between verifier and prover in std environment for added verify_{mint, burn, etc}
  • pallet-confidential-xcm-bridge
  • demo via xcm-simulator
  • runtimes and nodes (prove no_std path)
  • update docs to latest design
  • open PR against new repo containing all code + new CI running compilation + tests

Next Steps

  • set up separate repo with CI, permissions, etc
  • split this PR into separate repo
  • send link for new repo to sub0 organizers that requested it

Precompiles

Frontier

  • frontier-precompile-confidential-assets
  • impl callback OnConfidentialTransferReceived for Frontier precompile without introducing reentrancy attack vector (see moonbeam randomness precompile for a frontier example)
  • evm-template: configure frontier-precompile-confidential-assets
  • evm-template: test frontier-precompile-confidential-assets

PolkaVM

  • polkavm-precompile-confidential-assets
  • impl callback OnConfidentialTransferReceived for PolkaVM precompile without introducing reentrancy attack vector (TODO find PolkaVM example of reentrancy attack vector mitigation)

@4meta5 4meta5 self-assigned this Oct 17, 2025
@4meta5 4meta5 added enhancement New feature or request priority: 3 We will resolve this first before everything else. labels Oct 17, 2025
@netlify
Copy link

netlify bot commented Oct 17, 2025

Deploy Preview for docs-oz-polkadot canceled.

Name Link
🔨 Latest commit 33def0a
🔍 Latest deploy log https://app.netlify.com/projects/docs-oz-polkadot/deploys/690393c5db250300080799df

@4meta5 4meta5 moved this from 🗒 Backlog to 🏗 In Progress in OZ Development For Polkadot Oct 17, 2025
@codecov
Copy link

codecov bot commented Oct 17, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 79.03%. Comparing base (a529094) to head (33def0a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #422   +/-   ##
=======================================
  Coverage   79.03%   79.03%           
=======================================
  Files          19       19           
  Lines        2475     2475           
  Branches     2475     2475           
=======================================
  Hits         1956     1956           
  Misses        420      420           
  Partials       99       99           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@4meta5 4meta5 changed the title Confidential Assets (MimbleWimble) Confidential Assets (Zether) Oct 20, 2025
@4meta5 4meta5 changed the title Confidential Assets (Zether) Confidential Assets (ZK-ElGamal) Oct 21, 2025
@4meta5 4meta5 closed this Oct 30, 2025
@github-project-automation github-project-automation bot moved this from 🏗 In Progress to ✅ Done in OZ Development For Polkadot Oct 30, 2025
@4meta5 4meta5 moved this from ✅ Done to 🏗 In Progress in OZ Development For Polkadot Oct 30, 2025
@4meta5 4meta5 deleted the amar-confidential-assets2 branch October 30, 2025 17:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request priority: 3 We will resolve this first before everything else.

Projects

Status: 🏗 In Progress

Development

Successfully merging this pull request may close these issues.

2 participants